package com.Test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test18 {
    public static void main(String[] args) {

        // Long test = 123456L;
        // String demo = "123456";
        //
        // boolean equals = test.equals(Long.valueOf(demo));
        // System.out.println(equals);
        //
        // boolean equals1 = String.valueOf(test).equals(demo);
        // System.out.println(equals1);

        // String demo = "1800726616663625729,1800728733419806721";
        // List<String> stringList = Arrays.asList(demo.split(","));
        // for (String s : stringList) {
        //     Long aLong = Long.valueOf(s);
        //     System.out.println(aLong);
        // }

        // 测试不同情况的输入
        String input1 = "1.5氨纶";
        String input2 = "氨纶";
        String input3 = "123纯棉";
        String input4 = "纯棉";

        processInput(input1);
        processInput(input2);
        processInput(input3);
        processInput(input4);
    }

    public static void processInput(String input) {
        // 定义匹配数字/小数和后面文字的正则表达式
        Pattern pattern = Pattern.compile("(\\d*\\.?\\d*)?(.*)");
        Matcher matcher = pattern.matcher(input);

        double number = 1.0; // 默认数字为1
        String text = input; // 默认文字部分为整个字符串

        if (matcher.matches()) {
            String numStr = matcher.group(1); // 匹配到的数字/小数部分
            String textPart = matcher.group(2); // 匹配到的后面的文字部分

            if (numStr != null && !numStr.isEmpty()) {
                number = Double.parseDouble(numStr); // 转换成double类型
            }

            text = textPart; // 更新文字部分
        }

        System.out.println("数字部分：" + number);
        System.out.println("文字部分：" + text);
    }
}
